home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_ORBit.idb / usr / freeware / doc / ORBit / idl / dynany.idl.z / dynany.idl
Encoding:
Text File  |  1999-07-16  |  3.4 KB  |  112 lines

  1. module CORBA {
  2.  
  3.     interface DynAny {
  4.         exception Invalid{};
  5.         exception InvalidValue{};
  6.         exception TypeMismatch{};
  7.         exception InvalidSeq{};
  8.  
  9.         typedef sequence<octet> OctetSeq;
  10.         TypeCode type();
  11.  
  12.         void assign(in DynAny dyn_any) raises(Invalid);
  13.         void from_any(in any value) raises(Invalid);
  14.         any to_any() raises(Invalid);
  15.  
  16.         void destroy();
  17.  
  18.         DynAny copy();
  19.  
  20.         void insert_boolean(in boolean value) raises(InvalidValue);
  21.         void insert_octet(in octet value) raises(InvalidValue);
  22.         void insert_char(in char value) raises(InvalidValue);
  23.         void insert_short(in short value) raises(InvalidValue);
  24.         void insert_ushort(in unsigned short value) raises(InvalidValue);
  25.         void insert_long(in long value) raises(InvalidValue);
  26.         void insert_ulong(in unsigned long value) raises(InvalidValue);
  27.         void insert_float(in float value) raises(InvalidValue);
  28.         void insert_double(in double value) raises(InvalidValue);
  29.         void insert_string(in string value) raises(InvalidValue);
  30.         void insert_reference(in Object value) raises(InvalidValue);
  31.         void insert_typecode(in TypeCode value) raises(InvalidValue);
  32.         void insert_longlong(in long long value) raises(InvalidValue);
  33.         void insert_ulonglong(in unsigned long long value) raises(InvalidValue);
  34.         void insert_longdouble(in double value) raises(InvalidValue);
  35.         void insert_wchar(in char value) raises(InvalidValue);
  36.         void insert_wstring(in string value) raises(InvalidValue);
  37.         void insert_any(in any value) raises(InvalidValue);
  38.  
  39.         boolean get_boolean() raises(TypeMismatch);
  40.         octet get_octet() raises(TypeMismatch);
  41.         char get_char() raises(TypeMismatch);
  42.         short get_short() raises(TypeMismatch);
  43.         unsigned short get_ushort() raises(TypeMismatch);
  44.         long get_long() raises(TypeMismatch);
  45.         unsigned long get_ulong() raises(TypeMismatch);
  46.         float get_float() raises(TypeMismatch);
  47.         double get_double() raises(TypeMismatch);
  48.         string get_string() raises(TypeMismatch);
  49.         Object get_reference() raises(TypeMismatch);
  50.         TypeCode get_typecode() raises(TypeMismatch);
  51.         long long get_longlong() raises(TypeMismatch);
  52.         unsigned long long get_ulonglong() raises(TypeMismatch);
  53.         double get_longdouble() raises(TypeMismatch);
  54.         char get_wchar() raises(TypeMismatch);
  55.         string get_wstring() raises(TypeMismatch);
  56.         any get_any() raises(TypeMismatch);
  57.  
  58.         DynAny current_component();
  59.         boolean next();
  60.         boolean seek(in long index);
  61.         void rewind();
  62.     };
  63.  
  64.     interface DynFixed: DynAny {
  65.         OctetSeq get_value();
  66.         void set_value(in OctetSeq val) raises(InvalidValue);
  67.     };
  68.  
  69.     interface DynEnum: DynAny {
  70.         attribute string value_as_string;
  71.         attribute unsigned long value_as_ulong;
  72.     };
  73.  
  74.     typedef string FieldName;
  75.  
  76.     struct NameValuePair {
  77.         FieldName id;
  78.         any value;
  79.     };
  80.  
  81.     typedef sequence<NameValuePair> NameValuePairSeq;
  82.  
  83.     interface DynStruct: DynAny {
  84.         FieldName current_member_name();
  85.         TCKind current_member_kind();
  86.         NameValuePairSeq get_members();
  87.         void set_members(in NameValuePairSeq value) raises(InvalidSeq);
  88.     };
  89.  
  90.     interface DynUnion: DynAny {
  91.         attribute boolean set_as_default;
  92.         DynAny discriminator();
  93.         TCKind discriminator_kind();
  94.         DynAny member();
  95.         attribute FieldName member_name;
  96.         TCKind member_kind();
  97.     };
  98.  
  99.     typedef sequence<any> AnySeq;
  100.  
  101.     interface DynSequence: DynAny {
  102.         attribute unsigned long length;
  103.         AnySeq get_elements();
  104.         void set_elements(in AnySeq value) raises(InvalidSeq);
  105.     };
  106.  
  107.     interface DynArray: DynAny {
  108.         AnySeq get_elements();
  109.         void set_elements(in AnySeq value) raises(InvalidSeq);
  110.     };
  111. };
  112.